package com.haixiaoke.saas.user.service;

import com.haixiaoke.saas.common.weChat.domain.WeChatLoginParam;
import com.haixiaoke.saas.user.domain.UserConsumer;

import java.util.List;

/**
 * C端用户Service接口
 *
 * @author panda
 * @date 2024-04-11
 */
public interface IUserConsumerService {
    /**
     * 查询C端用户
     *
     * @param userId C端用户主键
     * @return C端用户
     */
    UserConsumer selectUserConsumerByUserId(Long userId);

    /**
     * 查询C端用户列表
     *
     * @param userConsumer C端用户
     * @return C端用户集合
     */
    List<UserConsumer> selectUserConsumerList(UserConsumer userConsumer);

    /**
     * 新增C端用户
     *
     * @param userConsumer C端用户
     * @return 结果
     */
    int insertUserConsumer(UserConsumer userConsumer);

    /**
     * 修改C端用户
     *
     * @param userConsumer C端用户
     * @return 结果
     */
    int updateUserConsumer(UserConsumer userConsumer);

    /**
     * 批量删除C端用户
     *
     * @param userIds 需要删除的C端用户主键集合
     * @return 结果
     */
     int deleteUserConsumerByUserIds(Long[] userIds);

    /**
     * 删除C端用户信息
     *
     * @param userId C端用户主键
     * @return 结果
     */
    int deleteUserConsumerByUserId(Long userId);

    UserConsumer selectUserConsumerByUser(String username, String password);

    /**
     * 小程序根据电话登录
     *
     * @param loginParam
     * @return
     */
    UserConsumer weChatSelectUserByPhone(WeChatLoginParam loginParam);

    List<UserConsumer> selectProprietorInfo();

    UserConsumer selectUserConsumerByMobileAndPwd(String mobile, String pwd);

    UserConsumer selectUserConsumerByMobile(String phone);

}
